﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CCWP7.Model
{
    public interface IServerDataManager
    {
        void Load();
        void Save();

        void Load(IDictionary<string, object> state);
        void Save(IDictionary<string, object> state);

        Server[] Servers { get; }

        void AddServer(Server server);
        void RemoveServer(Server server);
        
        string GetFullUri(string ServerUri);
        
        bool IsServerUriValid(string ServerUri);
        bool IsNameValid(string Name);

        void ReadAndUpdateServer(Server server, Action<Server> onCompleted);
    }
}
